# 01_乘法口诀表
"""for i in range(1, 9):
    print()
    for j in range(1, i+1):
        print(f"{i}*{j}={i*j}", end='\t')"""

# 02_水仙花数（三位数，各位数字立方和等于该数本身）
"""for i in range(100, 1000):
    ge = i % 10 
    shi = (i % 100) // 10
    bai = i // 100
    if ge**3 + shi**3 + bai**3 == i:
        print(f"{i}是水仙花数")"""

# 03_反向输出四位数
"""a = int(input("请输入一个四位数:"))
a = str(a)
a = a[::-1]
print(a)"""

# 04_判断字母
"""char = input("请输入一个字符:")
# str.isalpha()函数判断输入的字符是否是字母.
# isalpha()如果字符是字母（包括大写和小写字母），函数返回 True ;否则返回 False.
if char.isalpha():
    print(f"{char}是字符")
else:
    print(f"{char}不是字符")"""

# 05_判断三角形（输入三组数据，判断能否构成三角形的三条边）
"""a = int(input("请输入第一条边:"))
b = int(input("请输入第二条边:"))
c = int(input("请输入第三条边:"))
if a <= 0 or b <= 0 or c <= 0:
    print("输入的数据不合法！")
if a+b > c and a+c > b and b+c > a:
    print("这三条边满足条件")
else:
    print("这三条边不满足条件")"""

# 06_完数（除了自身以外的因数之和等于该数本身）
# 编写程序，找出1000以内的所有完数（如：6的因子是1，2，3）
"""for i in range(1, 1001):
    sum = 0
    for j in range(1, i):
        if i % j == 0:
            sum += j
    if sum == i:
        print(f"{i}是完数")"""

# 07_找质数因子
# 输入一个正整数，输出它所有的质数因子（如：180的质数因子为2，2，3，3，5）
"""a = int(input("请输入一个正整数:"))
factors = []  # 接收质数因子
divisor = 2   # 除数
while a >= divisor:
    if a % divisor == 0:
        factors.append(divisor)
        a //= divisor
        # 重复这个过程直到a不能再被divisor整除，然后递增divisor
    else:
        divisor += 1
print(factors)
print(list(set(factors)))"""

# 08_海伦公式求三角形面积
# 海伦公式是利用三角形三条边的边长直接求三角形面积的的公式
# p =（a+b+c）/2
# S = sqrt.[p(p-a)(p-b)(p-c)]
import math
a = int(input("请输入第一条边:"))
b = int(input("请输入第二条边:"))
c = int(input("请输入第三条边:"))
p = (a + b + c) / 2
S = math.sqrt(p*(p-a)*(p-b)*(p-c))
print(f"三角形的面积是{S:.2f}")


